import { RequestBody } from 'alova';

import ApiClient from '@/api/apiClient';

/**
 * WebsiteMsg对象
 */
export interface WebsiteMsgType {
	/**
	 * 内容
	 */
	content?: string;
	/**
	 * 创建人
	 */
	createBy?: string;
	/**
	 * 创建人id
	 */
	createId?: number;
	/**
	 * 创建时间
	 */
	createTime?: string;
	/**
	 * 主键
	 */
	id?: number;
	/**
	 * 是否逻辑删除，0否,其他是
	 */
	isDelete?: number;
	/**
	 * 是否已读 0否 1:是
	 */
	read?: number;
	/**
	 * 接收者ID
	 */
	receiveId?: number;
	/**
	 * 发送者ID 系统消息为空
	 */
	senderId?: number;
	/**
	 * 发送者类型 1用户 2系统
	 */
	senderType?: number;
	/**
	 * 发送时间
	 */
	sendTime?: string;
	/**
	 * 租户编码
	 */
	tenantCode?: number;
	/**
	 * 标题
	 */
	title?: string;
	/**
	 * 修改人
	 */
	updateBy?: string;
	/**
	 * 修改人id
	 */
	updateId?: number;
	/**
	 * 更新时间
	 */
	updateTime?: string;
	/**
	 * 乐观锁版本号
	 */
	version?: number;
	[property: string]: any;
}

/** 消息-列表 */
export const adminMessageListApi = (data: RequestBody) => {
	return ApiClient.Post<API.ListType<WebsiteMsgType>>('/websiteMsg/page', data);
};
/** 消息 */
export const adminMessageReadApi = (data: Merged<RequestBody, { id: number }>) => {
	return ApiClient.Post(`/websiteMsg/read/${data?.id}`, data);
};
/** 消息-删除 */
export const adminMessageDeleteApi = (data: Merged<RequestBody, { id: number }>) => {
	return ApiClient.Post(`/websiteMsg/delete/${data?.id}`, data, {
		params: data
	});
};
